package com.cuixichang.minimalism.transfer.factory;

import com.cuixichang.minimalism.transfer.dto.ILoginRoleDTO;
import com.cuixichang.minimalism.transfer.page.ILoginRolePageRequest;
import com.cuixichang.minimalism.transfer.page.ILoginRoleRequest;
import com.cuixichang.minimalism.transfer.vo.ILoginRoleVO;
import com.cuixichang.minimalism.transfer.po.ILoginRole;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * 账户与角色关系表对象适配器
 *
 * @author cuixichang
 * @date 2024-12-18
 */
@Mapper(builder = @Builder(disableBuilder = true))
public interface ILoginRoleAssembler {

    ILoginRoleAssembler INSTANCT = Mappers.getMapper(ILoginRoleAssembler.class);

    ILoginRoleDTO convertDto(ILoginRoleRequest request);

    ILoginRoleDTO convertDto(ILoginRolePageRequest request);

    ILoginRole convertPo(ILoginRoleDTO dto);

    ILoginRoleDTO convertDto(ILoginRole po);

    ILoginRoleVO convertVo(ILoginRoleDTO dto);
}